{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Imitation Learning for Portfolio Management"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "from model.supervised.imitation_optimal_action import *\n",
    "from utils.data import create_optimal_imitation_dataset, create_imitation_dataset, read_stock_history, normalize\n",
    "from __future__ import print_function\n",
    "import random\n",
    "%matplotlib inline\n",
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# dataset\n",
    "history, abbreviation = read_stock_history(filepath='utils/datasets/stocks_history_target.h5')\n",
    "history = history[:, :, :4]\n",
    "\n",
    "\n",
    "# 16 stocks are all involved. We choose first 3 years as training data and last 2 years as testing data.\n",
    "num_training_time = 1095\n",
    "target_stocks = abbreviation\n",
    "target_history = np.empty(shape=(len(target_stocks), num_training_time, history.shape[2]))\n",
    "\n",
    "for i, stock in enumerate(target_stocks):\n",
    "    target_history[i] = history[abbreviation.index(stock), :num_training_time, :]\n",
    "\n",
    "# test on 3 never seen stocks\n",
    "test_stocks = abbreviation\n",
    "test_history = np.empty(shape=(len(test_stocks), history.shape[1] - num_training_time, history.shape[2]))\n",
    "for i, stock in enumerate(test_stocks):\n",
    "    test_history[i] = history[abbreviation.index(stock), num_training_time:, :]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train optimal action given future observation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model load successfully\n"
     ]
    }
   ],
   "source": [
    "# build optimal model given future model\n",
    "nb_classes = len(target_stocks) + 1\n",
    "optimal_given_future_model = create_network_given_future(nb_classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# run this cell to train optimal action given future model\n",
    "train_optimal_action_given_future_obs(optimal_given_future_model, target_history, target_stocks)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Test learning from optimal action using future data: sanity check"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "584/584 [==============================] - 0s 110us/step\n",
      "Testing result: loss - 0.781989398068, accuracy - 0.772260273973\n"
     ]
    }
   ],
   "source": [
    "(X_test, y_test), (_, _) = create_optimal_imitation_dataset(test_history)\n",
    "Y_test = np_utils.to_categorical(y_test, nb_classes)\n",
    "loss, acc = optimal_given_future_model.evaluate(X_test, Y_test)\n",
    "print('Testing result: loss - {}, accuracy - {}'.format(loss, acc))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Start to play in an environment with stocks we have never seen before"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "from environment.portfolio import PortfolioEnv\n",
    "env = PortfolioEnv(test_history, test_stocks, steps=365)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11b19e910>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11b19efd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# buy and sell only 1 stock\n",
    "done = False\n",
    "observation, info = env.reset()\n",
    "ground_truth_obs = info['next_obs']\n",
    "close_open_ratio = np.transpose(ground_truth_obs[:, :, 3] / ground_truth_obs[:, :, 0])\n",
    "close_open_ratio = normalize(close_open_ratio)\n",
    "while not done:\n",
    "    action = np.zeros((nb_classes,))\n",
    "    current_action_index = optimal_given_future_model.predict_classes(close_open_ratio, verbose=False)\n",
    "    action[current_action_index] = 1.0\n",
    "    observation, reward, done, info = env.step(action)\n",
    "    ground_truth_obs = info['next_obs']\n",
    "    close_open_ratio = np.transpose(ground_truth_obs[:, :, 3] / ground_truth_obs[:, :, 0])\n",
    "    close_open_ratio = normalize(close_open_ratio)\n",
    "env.render()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### It turns out that using probability distribution sometimes yield higher return"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11b19e350>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11b333110>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# buy and sell according to the probability, not the label\n",
    "done = False\n",
    "observation, info = env.reset()\n",
    "ground_truth_obs = info['next_obs']\n",
    "close_open_ratio = np.transpose(ground_truth_obs[:, :, 3] / ground_truth_obs[:, :, 0])\n",
    "close_open_ratio = normalize(close_open_ratio)\n",
    "while not done:\n",
    "    current_action = optimal_given_future_model.predict(close_open_ratio, verbose=False)\n",
    "    current_action = np.squeeze(current_action, axis=0)\n",
    "    observation, reward, done, info = env.step(current_action)\n",
    "    ground_truth_obs = info['next_obs']\n",
    "    close_open_ratio = np.transpose(ground_truth_obs[:, :, 3] / ground_truth_obs[:, :, 0])\n",
    "    close_open_ratio = normalize(close_open_ratio)\n",
    "env.render()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train optimal action given history observation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model load successfully\n"
     ]
    }
   ],
   "source": [
    "# we need to test different window length\n",
    "window_length = 3\n",
    "# create model\n",
    "optimal_given_past_model = create_network_give_past(nb_classes, window_length)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# run this cell to train the model. \n",
    "# For 3 stocks, it would take 200 epoches to converge to around 45% validation accuracy\n",
    "# For 16 stocks, the validation accuracy is around 15%.\n",
    "train_optimal_action_given_history_obs(optimal_given_past_model, target_history, target_stocks, window_length)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Test optimal action given history observation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "584/584 [==============================] - 0s 85us/step\n",
      "Testing result: loss - 2.76260301512, accuracy - 0.184931506849\n"
     ]
    }
   ],
   "source": [
    "(X_test, y_test), (_, _) = create_imitation_dataset(test_history, window_length=window_length)\n",
    "Y_test = np_utils.to_categorical(y_test, nb_classes)\n",
    "# increase a dimension of X_test for CNN\n",
    "X_test = np.expand_dims(X_test, axis=-1)\n",
    "loss, acc = optimal_given_past_model.evaluate(X_test, Y_test)\n",
    "print('Testing result: loss - {}, accuracy - {}'.format(loss, acc))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "env = PortfolioEnv(test_history, test_stocks, window_length=window_length, steps=365)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11a9d5c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11b8c5b90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# buy and sell only 1 stock\n",
    "done = False\n",
    "observation, _ = env.reset()\n",
    "close_open_ratio = observation[:, :, 3] / observation[:, :, 0]\n",
    "close_open_ratio = normalize(close_open_ratio)\n",
    "while not done:\n",
    "    action = np.zeros((nb_classes,))\n",
    "    close_open_ratio = np.expand_dims(close_open_ratio, axis=0)\n",
    "    close_open_ratio = np.expand_dims(close_open_ratio, axis=-1)\n",
    "    current_action_index = optimal_given_past_model.predict_classes(close_open_ratio, verbose=False)\n",
    "    action[current_action_index] = 1.0\n",
    "    observation, reward, done, _ = env.step(action)\n",
    "    close_open_ratio = observation[:, :, 3] / observation[:, :, 0]\n",
    "    close_open_ratio = normalize(close_open_ratio)\n",
    "env.render()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11b37fed0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEyCAYAAAD+23eGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VFXewPHvmfReISEFAoQOoYUmIEXshSKKXbEgq2JZ\nXVddEcvq2l/XtS02VNBFxa4gotJ7CRB6SSEhvfdkMuf940xCyqQyyUzC+TxPnszMbWdm7tzfPV1I\nKdE0TdO0KgZbJ0DTNE2zLzowaJqmabXowKBpmqbVogODpmmaVosODJqmaVotOjBomqZptejAYCeE\nEJOFEEnnynHPRUKIJUKIf9o6HW1NCDFRCHHE1unQWk8HBq3DMF9Yy4UQhTX+HBpYVwgh/imESBZC\n5Akh1gohBtVY7iKE+EgIkS+ESBVC/LXGsnAhxFYhRLYQ4rU6+10lhIhuu3fZ8QghpBAisuq5lHKD\nlLJfGx+zwe/Pwrrv1TlnyoQQBXXWuU4IcUgIUSSEOCGEmFhj2bXmZQVCiINCiBkNHOcP82fhaL13\nahs6MHQAneFEs6KXpZSeNf4qG1jvGuB2YCLgD2wBPqux/GmgD9ADmAI8KoS4xLzsceAToCcwoyoQ\nCCHmACellDut/J5arL3OCTs+956m4e+vFinl/JrnDPAF8FXVciHEhcBLwFzACzgfOGleFgosBf4K\neAN/Az4XQnSteQwhxI2AvX5WLSelPCf/gHjUl7wPKAI+BIKAlUABsAbwq7H+V0AqkAesBwaZX3cG\nYoAF5ucOwCbgqSaO7wYsAXKAg+a0JNVJ39/N6StDnXSPASfM6TsIzKyxfgIw0vz4JkACA83P7wS+\na+ZxBwBrgVzgAHCV+fWe5tcM5ucfAOk1tlsKPGh+vBZ4zvw5FACrgUArfGdLgH82c92/A1/WeD4I\nKK3xPBm4qMbz54D/mR+vBPqZH/8PuBZ1UdgD+DZxXAH8H5BuPlf2AYNrpP9t4Gfz57IN6F1j238D\np4B8YBcwscayp4GvzZ9zvvk7rXptuXl/u4GhNbYJAVYAGUAccH8zPjdLxxmNCqy5QArwFuBsXn+9\n+VwrAgqBOcDk5pxTZ3kuNPj9NbGdh/mzmlTjtc3AHQ2sP6bmeW5+LQMYV+O5D3AUGGv+LBzP9v3Z\n+s/mCbDZG1cX3q2oYBBq/iHvBoYDLsAfwKIa69+OuptwAd4AYmosG4y60A4A/mHer0MTx38R2IC6\nmw0HYqkfGGLMy9zMr11j/rEbzD/AIqCbedmnwMPmx4tRAeQvNZY91NRxASfgOPAEKuBNNf+Iqi6S\niZwJPkdQd1UDaiwbbn681nz8vqhAtBZ4scZ7y23k77FGPrMlQLb5bxdwdSPr9jB/n33N7+tlzgRH\nP/MPOKjG+rOB/ebHrwD3Ab7mz2Mw6qJ9azPOq4vNafNFBYkBNb6jqvSPRgX6ZdS4mKECeoB52cOo\nGxFX87KngQpghvn7d6vx2mzze3wEFQCczOvsAp4yf5e9zN/XxU2k39JxRqIueo5ABHAI802AeRsJ\nRNZ4Ppnmn1OPNXY+NJDGRr+/Jt7fLebPQZifOwDl5nQcB5JQgc+txvJ1wFXmxzPM63jU2OfbwEPm\nz0YHho78h7rw3ljj+Qrg3RrPF2C+kFjY1td8AvjUeO1h4DAqQPRpxvFPApfUeD6P+oHh9ib2EQNM\nNz++A/jB/PgQ6k6v6g44ARjR1HFRxS6pmHMF5te+AJ42P/4MlaUORgWGl4H51M9NrAWerLGPe4BV\nVvjORnDmwnmZ+QIzvoF1nVEXcwkYURfMnuZl4ebXXWusfyEQb37sj7oL32v+wQ8H/jS//jnqLvm+\nBo47lTN3j4Y6y5YAH9R4fhlwuJH3m4M5B4C6YK+vs/xpYGuN5wbUHf1E1J1uYp31Hwc+buIzrncc\nC+s8CHxb43ljgaHRc6qV50Gj318T2/5e89ioGy0J7AS6AYGonO7zNda5A5UbMgLFwOU1lkWjfodV\nQbNTBIZzvY4hrcbjEgvPPQGEEA5CiBfNlVL5qIs2qJOoyieoE+MXKeWxZhw7BFVsUCXBwjo1lyOE\nuEUIESOEyBVC5KLuZKvSsA6YKIQIRt3ZLAfGCyEiUFndmGYcNwQ4JaU01VkeWuMYk1FlsOtRAWCS\n+W9Dne1SazwuxvxZNledCsMnAKSUu6WUWVJKo5TyF9Qd96wGdrEIGIW6iLgCzwB/CCHcUT9yUMVD\n1HhcYD5OtpRyjpRyKCq4/Ad1o/AYKoc1DZgvhBhY96BSyj9Qd5xvA2lCiMVCiJrHafBzEUI8bK7k\nzDN/vz7UPsdqnQ91XzN//kmo77EHEFJ1rpj39wQqh9yUuuddXyHET+ZK3nzghTrpakxT51RrNPr9\nNUQIEY46Vz+t8XKJ+f9/pJQpUspM4HVU0EYIMQ11AzQZdbMxCfhACDFMCGEA3gEekFIaz+L92J1z\nPTA01w3AdNQFwQcVAEAVFVR5B/gJuFgIMaEZ+0xBXbSqdLewjqx6IIToAbyPKuIIkFL6oi5SAkBK\neRx1obkfdcdXgLoIzQM21vhhNnbc00C4+YSvuTzZ/Hgd6g5wsvnxRmA86seyrhnvueq9FDbyVxUE\nalYYvtDAriS1v4OahgLLpZRJ5kCyBFUEMVBKmYP6HIbWWf+Ahf3MQ92VxwJDgJ1SynJgPyow10+U\nlG9KKUei6jX6oupxGmVuBfN3VH2Gn/n7zavz/qSFTau/S/P3Fob6Hk8BcVJK3xp/XlLKy5pKi4Xj\nvIvKDfeRUnqjAkxDn3tdjZ5TQognGjsfLCauZd9fTbcAm6WUJ+vsKwnLny3AMNTvaaeU0iSl3IGq\nG5qGCkbRwHIhRCqww7xNUs1WTR2RDgzN44WqAM4C3FF3TNWEEDejymFvQ12YPxFCNHWH/CXwuBDC\nTwgRhrojbYwH6uTNMB9zLvUvTOtQgaPqIr22zvOmjrsNVW/xqBDCSQgxGbgSVQGLOSdUgioLXy+l\nzEflsq6mBYFB1m5VVPevoSCAEGK2EMJTCGEQQlxkTscPDay+A7hGCBFkXv9mzpR3g7prfNL8OfQH\n7kIV9dQ8XlfgXlTxCqjiqCnm7zYac8uVOtuMEkKMEUI4oT7LUqChllM1eaGKKjIARyHEU9S+I27I\nSCHELHProQdR5+lWYDuQL4T4uxDCzZzrHSyEGNWMfVpKWz5QaP6s/lJneRqqDsOSps6pFxo7HxpJ\nU5PfnwW3NLDOx8ACIURXIYQf6nP8ybxsByonPgxACDEcdXO0DxW4Q1DBYxjmXAbqWrCtibTYNR0Y\nmudTVPY3GdWSZ2vVAiFEd1Rl9C1SykIp5eeo8sr/a2Kfz5j3GYdqtfNZYytLKQ8Cr6Fah6Sh7l43\n1VltHepHvL6B540e13wnfBVwKZCJygXdIqU8XOcYWVLKxBrPBarFTlt7APUd5KIqiO+SUq4F9T2Y\n7zKrckAvoeoIYszrP4SqrM41L1+EqiBPML+HV6SUq+oc71XgWSll1Z3rv1B1CKdQ9TmWmq16o3J2\nOeZ9Z5n305RfUa2hjpq3K8Vy0VFd36MaIuQANwOzpJQVUjXjvRJ1wYpDfZ8foHK8LfUIKtdcgHpv\ny+ssfxp1M5QrhLi25oJmnlOt0eD3Z+FcQAgxDpWb+srCvp5DBYCjqPq5PcDz5vSvM7+/r4Xq+7AC\neEFKuVoqqVV/mG/agDTz++6wqmrmNU3rYIQQT6MqfW+ydVq0zkXnGDRN07RadGBoQ0KIlY1VsGqa\nLejzUmuKLkrSNE3TatE5Bk3TNK0WHRg0TdO0WuxqNMDAwEAZERFh62RomqZ1KLt27cqUUnax1v7s\nKjBERESwc6fNRzTWNE3rUIQQlobUaTVdlKRpmqbVogODpmmaVosODJqmaVotdlXHYElFRQVJSUmU\nlpbaOilaM7m6uhIWFoaTk5Otk6JpWivYfWBISkrCy8uLiIgIhGjuSL+arUgpycrKIikpiZ49e9o6\nOZqmtYLdFyWVlpYSEBCgg0IHIYQgICBA5/A0rQOz+8AA6KDQwejvS+uMKk0SY6Wp6RU7gQ4RGDRN\n02xtxtubmP523SlQOicdGNrBkiVLOH36dPXzDRs2MGjQIIYNG0ZJSYnFbeLj4xk8WE3QtnPnTu6/\n//52Sed9993X5sfRtI5of3IeB07ncyq72NZJaXM6MLSxysrKeoFh2bJlPPLII8TExODm5tbkPqKj\no3nzzTfbMpmapjWiqMxY/fjz7YmNrNk52H2rpJqe+fEAB0/nW3WfA0O8WXTloEbXiY+P55JLLmHM\nmDHs2bOHvn378umnn7JlyxYeeeQRjEYjo0aN4t1338XFxYWIiAhuv/12Vq9ezfz589m5cyc33ngj\nbm5u3HHHHXz55Zf8+uuvrFmzhqVLl/Loo4+ycuVKhBA8+eSTzJkzp9bx165dy6uvvspPP/1EdnY2\nt99+OydPnsTd3Z3FixcTFRVVL80mk4levXoRExODr68vAJGRkWzatInt27fzz3/+k/LycgICAli2\nbBlBQUG1tr/tttu44oormD17NgCenp4UFqoZLl955RW+/PJLysrKmDlzJs8880yrP39N6wiSc8/k\n7H+NTeXvl/S3YWrans4xNNORI0eYN28e+/btw9vbm9dff53bbruN5cuXs3//foxGI++++271+q6u\nrmzcuJGbbrqJ6Oholi1bRkxMDAsWLOCqq67ilVdeYdmyZXzzzTfExMSwd+9e1qxZw9/+9jdSUlIa\nTMeiRYsYPnw4+/bt44UXXuCWW26xuJ7BYGD69Ol8++23AGzbto2IiAiCgoKYMGECW7duZc+ePVx3\n3XW8/PLLzf4cVq9ezbFjx9i+fTsxMTHs2rWL9evXN72hpnVgVcVHM4eHcjKziBlvb2LOf7dwLK3A\nxilrGx0qx9DUnX1bCg8PZ/z48QDcdNNNPPfcc/Ts2ZO+ffsCcOutt/L222/z4IMPAtS762/Ixo0b\nuf7663FwcCAoKIhJkyaxY8cOi7mAqvVXrFgBwNSpU8nKyiIvLw8fn/pzvM+ZM4dnn32WuXPn8r//\n/a86TUlJScyZM4eUlBTKy8tb1N9g9erVrF69muHDhwNQWFjIsWPHOP/885u9D03raJJyVI7h1vMi\n+HZPMjGncgHYcjKLPkFetkxam9A5hmZqaRNMDw+PZq3X0hn0LK3fUNrGjRvH8ePHycjI4LvvvmPW\nrFkALFiwgPvuu4/9+/fz3//+12KfA0dHR0wmU/Uxy8vLqx8//vjjxMTEEBMTw/Hjx7njjjta9B40\nraM5lV2Mq5OBoWE+PHn5AD67YzQGAZkFZbZOWpvQgaGZEhMT2bJlCwBffPEF06ZNIz4+nuPHjwPw\n2WefMWnSJIvbenl5UVBgOct5/vnns3z5ciorK8nIyGD9+vWMHj26wXScf/75LFu2DFB1D4GBgXh7\ne1tcVwjBzJkz+etf/8qAAQMICAgAIC8vj9DQUAA++eQTi9tGRESwa9cuAL7//nsqKioAuPjii/no\no4+q6xuSk5NJT09vML2a1hkk5ZQQ5ueOEII7J/ZiYp8u+Hs4k1lUbuuktYkOVZRkSwMGDOCTTz7h\n7rvvpk+fPvz73/9m7NixXHPNNdWVz/Pnz7e47W233cb8+fNxc3OrDi5VZs6cyZYtWxg6dChCCF5+\n+WWCg4OJj4+3uK+nn36auXPnEhUVhbu7e4MX9ipz5sxh1KhRLFmypNY+rrnmGkJDQxk7dixxcXH1\ntrvrrruYPn06o0eP5oILLqjOAV100UUcOnSIcePGAapSeunSpXTt2rXRdGhaR5aQXUwPf/darwV4\nuJBV2DlzDKKlRRltKTo6WtadqOfQoUMMGDDARilS4uPjueKKK4iNjbVpOjoSe/jeNM0apJQMWvQr\n143qzlNXDqx+/Yb3t1JmNLHiL+fZMHWKEGKXlDLaWvvTRUmapmmNyCgso7i8kojA2jmGQM/W5xgO\np+azbJtVJ12zKl2U1AwRERF2nVv4+OOP+fe//13rtfHjx/P222/bKEWa1nkkZKmmqj0CajcoCfB0\nJrOwdXUMz/10kE3Hs5jcryuhvk13cm1vOjB0AnPnzmXu3Lm2ToamdUrxmUUARATUzzEUlhkprajE\n1cmh2fs7mVHIpuNZgOosd/sE+xueXhclaZqmNSI+qwhHg6h3Zx/o6QxAVgtbJn2xPRFHgyDMz41V\nB1Ktlk5r0oFB0zStEfFZxYT5ueHoUPtyGeDhArSsL0NpRSVf7Uri4kHBTBsQxIHkvBb3ZWoPrQoM\nQoiPhBDpQgiLBe9CiMlCiDwhRIz576mzS6amaZptJGQV1atfAAj0UoEhowWB4Zf9KeQWV3DjmO6E\n+blRVF5JXkmF1dJqLa3NMSwBLmlinQ1SymHmv2dbeRxN0zSbkVKSkFlcr34BINjbFYDU/ObPVrhs\nWyK9Aj0Y1zugumhq9cE0uxtzqVWBQUq5Hsi2clrOCWvXruWKK65o9voxMTH88ssvVk2DnndB05on\nu6icgjKjxRxDFy8XHAyC1LymA4Ox0sTrvx1lV0ION4zpjhCCMD8VbB79eh8Lv7evVo9tWccwTgix\nVwixUghhu9Hv7IjRaGx6pTraIjBomtY88eamqnX7MAA4GARdvVxIaUZg2Jecx5u/H2NCZCBzRoUD\nEOp3pjL7ZEaRlVJsHW3VXHU30ENKWSiEuAz4DuhjaUUhxDxgHkD37t0b3+vKxyB1v3VTGjwELn2x\n0VWq5mOoGq566NChzJ07l0WLFpGenl49dtGDDz5ISUkJbm5ufPzxx/Tr148lS5bw888/U1paSlFR\nEU89daa6ZceOHcybN48VK1YQFBTEggULqofwfvrpp7n00kt56qmnKCkpYePGjTz++OP1Rm3V8y5o\nWttJyFIXbEs5BoBgH1dS8y3PwlhTVT3EY5f2x8vVCQA/d6fq5ekFZRSVGfFwsY8eBG2SY5BS5ksp\nC82PfwGchBCBDay7WEoZLaWM7tKlS1skxyqOHz/OAw88wL59+zh8+DCff/45Gzdu5NVXX+WFF16g\nf//+rF+/nj179vDss8/yxBNPVG+7ZcsWPvnkE/7444/q1zZv3sz8+fP5/vvv6dWrF88//zxTp05l\nx44d/Pnnn/ztb3+joqKCZ599ljlz5hATE2NxKG8974KmtZ24zCKEgDA/y53Quvm4NivHkGXuCBfo\n6VL9Wt1RkeOz7CfX0CbhSQgRDKRJKaUQYjQqAGWd9Y6buLNvSz179mTIkCEADBo0iAsuuAAhBEOG\nDCE+Pp68vDxuvfVWjh07hhCiejRSgAsvvBB/f//q54cOHWLevHmsXr2akJAQQF2If/jhB1599VUA\nSktLSUxs3hSCet4FTWsbO+Kz6R/sjYuj5Q5swd5urD2SgZSy0aH5q4bO8PdwrvW6j5tTdaukhKxi\nBoXUn1fFFlrbXPULYAvQTwiRJIS4QwgxXwhRNbzobCBWCLEXeBO4TtpjY90WcHE5E+kNBkP1c4PB\ngNFoZOHChUyZMoXY2Fh+/PHHWnMc1J2boVu3bri6urJnz57q16SUrFixonqeg8TExGYPQqfnXdA0\n6ysuN7I7IZeJfSwWdgAqx1BcXkl+aeP1h1lF5Xi7OuLsWPuS++cjk/nzkcmAyp3Yi9a2SrpeStlN\nSukkpQyTUn4opXxPSvmeeflbUspBUsqhUsqxUsrN1k22/ak5x0HNIa4t8fX15eeff+aJJ55g7dq1\ngJrn4D//+U91Z5eqoNHYXA5V9LwLmmZ92+OyKa80MSGy4cAQ7KOarKbkNV7PkFlYVqsYqYq/hzM9\nAz3o4uViVxXQuuezlTz66KM8/vjjjB8/nsrKyibXDwoK4scff+Tee+9l27ZtLFy4kIqKCqKiohg8\neDALFy4EYMqUKRw8eJBhw4axfPnyBvc3Z84cli5dWqseomrehYkTJxIYaPnkvuuuu1i3bh2jR49m\n27ZtteZduOGGGxg3bhxDhgxh9uzZTQYoTeuoYk7lkltcTnG5kae+j+WOJTt4Y80xvFwcGRXh3+B2\n3c1zNFQNtNeQrMJyAjydG1w+oJs3B07ntS7xbUDPx6C1Cf29aR1FZmEZ4/71O6N7+jOlX1f++fMh\n/NydyCmu4IWZQ7hhTMOtJfNLK4h6ejWPXdqf+ZN6N7jeRf+3jl6Bnrx380iLy19bfYR31p4g9umL\ncXNu/oB8Vaw9H4N9tI3SNE2zke/2JFNRKdl0PItNx7MYFeHHuzeNZNvJbC4bEtzott6uTgR6unAy\no7DR9bIKyxkV0XCOYUioD5UmycGUfEb28GvV+7AmXZTUgXz88ccMGzas1t+9995r62RpWoclpeTL\nnacYGubDbedF4OXiyD2TIwn0dOHyqG6NtjSq0ivQg7jMIlLySthwLKPWsjJjJRe8tpasonICLNQx\nVIkKU32Q9iflnt0bshKdY+hA9LwLmmY9768/ye+H0ziaVsjzMwdz45gePH1Vywdp6BnowZpDaUx8\n6U+MJsmt43qQll/GWzcM50hqASfMlcoejRQRBXm70MXLhX1J9lHP0CECQ1NthDX7Yk/1Vppmickk\nef6XQ9XPrxwa0up99eriQdbOM3MyfLJFTdn54srDRASaG3MMDOKyId0a3IcQgqFhPuxLto/AYPdF\nSa6urmRlZemLTQchpSQrKwtXV1dbJ0XTACgqM3IsraDWNaTmBfgvk3vj7epkadNmuWhQMBcODOLm\nsT0wmO9fB3bz5oONcXyw4ST+Hs789+aRhPvXH2+ppiGhvpzIKKSwrOVjqlmb3ecYwsLCSEpKIiMj\no+mVNbvg6upKWFiYrZOhaaTmlXLei79jkvD1/HFEm5ue/nEoDSFg95MX4ufRcKVwc/QM9OD9W1SD\noMOp+exJzGXZnWO4+7NdbI/PZlLfLs0q8YgK80FKOJCcx5heAQ2uJ6Xk2Z8Ocn7fLkzp1/Ws0t4Q\nuw8MTk5OLRrKQdM0rcov+1MwmTMKJzOLiI7wJ6+4gk+3JjAhMvCsg0Jd903tw4n0Qvw8nHn7xhFc\nt3gLFwxo3sV7SJgaDmNfUuOB4Zf9qXy8KZ4d8dnnbmDQNE1rrV8PpNIjwJ2ErGLSzRPqvLvuBPkl\nFTx+qfX72Uzq24VJfdVgoF28XPj94cnN3jbQ04VuPq7ENtLRrcxYyUurDuPkIIhNzufzbYnsScw5\n22TXY/d1DJqmaS21LymXe5ftZltcNtOHhuDr7kRafhkl5ZV8sT2RSwYHMzDE29bJrGdwqA+xjVRA\nf7YlgcTsYl69ZihuTg488e1+VsamWj0dOsegaVqnsvC7WD7bmoCXiyN/mdyb+ZN78+uBNFLzS/l0\nSzx5JRXcOi7C1sm0aHCID2sOpVFYZsSzztwMcZlFvP7bUSb368L0YaGM6xXAqZwSBnbzxt3Kkyfr\nwKBpWqeRnl/Ksm0JzBweyrPTB1VPihPk48pvB9P4/VAa0wYEMbpnw+Mf2dKQMG+khEMp+fXGaHpx\n5SEcDYJ/zVLD/3f1dqWrd9u0/tNFSZqmdRo/7D2NScJ9UyOrgwJAkJfqdezsaOCN64bZbb+oweb5\nGPbX6ehmrDSx+XgWl0eF0M3H8qRB1qQDg6ZpnYKUkq92JjE0zIfeXTxrLQsy31mP7OFXr4jGnnT1\ndqWrl0u9CuiDKfkUlBkZ26t9cjo6MGia1uGYTJJf9qdgrDRVv7YtLpsjaQXcOKZHvfWrOp71C7K/\nCue6LFVAbzmhJsAc10gzVmvSgUHTtA5n1YFU7lm2m/+uP0lKXglf70rio41x+Lg5WRzeYnCoKqJp\narRUezA41Ifj6YWUlJ+Z1+WPw+n0DfJsszqFuuw3T6VpmtaAqmkw/ziczs74bP48okZGeOCCPhbn\nM7hoUDC7F15Yb85lezQ4xBuTpHoI7vT8UrbHZ/PABX3aLQ06MGia1mEUlRmZv3QXB0/nA7A7MQcp\nwc/dCQncPr7hURI6QlCAMz2gD5zOY2QPP37en4KUcEVUw4PwWZsODJqmdRjLtiWw4VgmAP2DvfB2\nc8JBCN67aSQmKfFxb/1gePYi2NuVAA9nvt6VxNojGSRkFTEoxJvIrl7tlgYdGDRN6xBMJsn7G+Kq\nnw8L9+XFq6NsmKK2IYRgcKgP646eGTj0uRmD2zUNuvJZ07QO4WRmIRkFZfzt4n4M6OZtsfVRZ9E/\n+EzuILKrJ1edxXwRraFzDJqmdQgxp1QTzosGBnHvlEgbp6Zt9e6q+mG8PDuKa0aGtXuHvFYFBiHE\nR8AVQLqUssE8jhBiFLAVmCOl/Lp1SdQ0TYOYUzl4uTjW67zWGc0eEUY3H1cmRAbapJd2a4uSlgCX\nNLaCEMIBeAn4tZXH0DRNq7b3VB5R4T4YDPY5nIU1GQyCiX2aN8FPmxy/NRtJKdcD2U2stgBYAaS3\n5hiapmk1ncopPidyC/agTSqfhRChwEzgvbbYv6Zp5xYpJYWlRrxcdbVoe2irVklvAH+XUlY2taIQ\nYp4QYqcQYqee11nTNEvKjCaMJomnS8fvp9ARtFX4jQb+Zy4fCwQuE0IYpZTf1V1RSrkYWAwQHR0t\n2yg9mqZ1YAWlRgA8dY6hXbTJpyylrO6XLoRYAvxkKShomqY1R2GZOTC41B8HSbO+1jZX/QKYDAQK\nIZKARYATgJRS1ytommZVhVU5Bl2U1C5aFRiklNe3YN3bWnMMTdO0KgVlFQB2PclOZ6KHxNA0ze5V\n5Rh0q6T2oQODpml2r6i8qihJB4b2oAODpml2r1C3SmpXOjBommb3Csp0jqE96cCgaZrdKyw14mgQ\nuDjqS1Z70J+ypml2r7DMiKero80GlTvX6MCgaZrdKyw16mKkdqQDg6Zpdq+gTAeG9qQDg6Zpdk+P\nrNq+9CetaVqL7UnM4d21J5BApUkyJNSH83oH4OggGNnD3+rHKywzEujpbPX9apbpwKBpWoucyChk\nzuKteLs6EujpQkWliT8Op/Pv348BEP/i5VY/Zlp+Kf2Cvay+X80yHRg0TWuR1QfSKDea+P6+CYT6\nulFpksx8ZxP7kvIAyCwsI9DTxWrHK62oJL2gjB7+7lbbp9Y4XcegaVqLbDqeSb8gL0J93QBwMAi+\nuGssH97DFEfwAAAgAElEQVQaDcDUV9fywi+H2HQ8k4pK01kfLymnGIDuATowtBcdGDRNa7bSikp2\nxGdzXmRArdc9XByZ1LcLAPmlRj7cGMeNH2xjxtubSMsvPatjJmarwBCucwztRhclaZrWbOuOZlBm\nNHG+OQjU5Ohg4JXZUbg7OzK2lz8bj2fy9xX7eObHA7x+7TBcnVo3yU5iljnHoANDu9GBQdO0Zlu+\n4xRB3i5MjAy0uPya6PDqx9OHhRKXWcQba47x5+HfePemEUzu17XFx0zMLsHd2YEAD90qqb3ooiRN\n05olp6ictUfSmT0yDEeH5l067pkcyctXR9EjwJ17l+0mq7CsRcc0mST7k3MJ93PXw2G0Ix0YNO0c\n8fm2RJ7/+WCrtz+cWoBJwtheAU2vbObsaODaUeG8cd0wisor+XZPcouO+crqI+yIz+Ga6LCWJlc7\nCzowaNo54Ns9STzx7X7e3xDHsbSCVu3jqHm7fkEt70/QP9iboeG+fLnzFFLKZm3zx+E03l17gutH\nd+eOCT1bfEyt9XRg0LRObF9SLtct3sIT38TSp6snAF/tSqpebqw08cqvhzllbvnTmCNpBfi4OdHF\nq3V9FG4Z24OjaYV8H3O6yXVNJsnzPx8isqsni64cqIuR2pkODJrWSZVWVPLg8hhik/MJ83Nj6Z1j\nuGxIMF9sT6wu6197JIO3/zzBW38cb3J/R1ML6Bfk1eqL9MzhoUSF+fDCL4coNE+8A5BbXM6KXUlk\nF5VXv7b6YConMop44II+rW7NpLWeDgya1kmt2J3EyYwi3rphOL/9dRJB3q789cK+lJRX8tpvRwH4\n2px7+GnfaYpqXKzrMpkkR9IK6Bvs2er0GAyCp68aRHpBWXUgKiit4KL/W8/DX+3lnmW7qDSpYqbv\n9pwmyNuFy4Z0a/XxtNbTzVU1rROSUrJsayIDunlXdzwDiOzqxc3jerBkczwZBWX8djCNsb382Xoy\nmwtfX8d5kYGYpKSg1Mjim0dW5w42HM+koNTImJ7Nr3i2ZER3P2aPDOODDScZHxnA9rhs0gvKmDs+\ngo83xTP7vc1cMzKcP46kc210GA4GXYRkC60KDEKIj4ArgHQp5WALy6cDzwEmwAg8KKXceDYJ1TSt\nYWXGSgC+2pnEsHBfyoyVHEzJ57kZg+sV/Tx4QV++jznNhmMZ3DulN/dN6cO2uCyWbk1g7ZF0MgtV\nkU5ucQV+5r4Dn29LwN/DmYsGBZ11Wv9x2QD+PJzOzR9uB2B8ZACLrhxEVJgPr6w6whPf7gfgwoHB\nZ30srXVam2NYArwFfNrA8t+BH6SUUggRBXwJ9G/lsTRNa8LNH27nSGoBeSUVXNC/KwaDwNfdiatH\nhNZb18fdiR8XTMDZwVBdkTy5X1cm9+uKlJJf9qdy7+e7Scopwc/Dmd8OpvHrgTTumxKJi+PZl/f7\neTjz7T3j2RGfDVA9vMbM4WHMGBbKythUNp/IZFwLmsVq1tWqwCClXC+EiGhkeWGNpx5A89qnaZrW\nYtlF5WyPy65+/vvhdADuv6AP7s6Wf+JVA+DVJYQgIlANPZGUU4wQ8NDyGAaHenPf1Eirpbl7gLvF\nQfGEEFw2pJuuW7CxNqtjEELMBP4FdAWsP0C7pmkArDuqAsGUfl0I8XVj2bZEgFa3/Q/zUxfsDzbG\ncfB0Pv4ezrx/S7RuHXQOabPAIKX8FvhWCHE+qr5hmqX1hBDzgHkA3bt3b6vkaFqn9cfhDAI9Xfjw\n1lFUmEzsSsjh9vE98XFzatX+fNyc8HJ1ZFdCDv2CvPjk9tEE+7haOdWaPWvzVknmYqfeQohAKWWm\nheWLgcUA0dHRushJ01rAWGli3ZF0LhoUjMEgcDE4sOrB889+x+Zf4jXRYToonIPapB+DECJSmJtC\nCCFGAM5AVlscS9POZbsTc8kvNTK1f8tHLW1MgblPg7X3q3UMrW2u+gUwGQgUQiQBiwAnACnle8DV\nwC1CiAqgBJgjmztAiqZpjSouN1ZXKv9+OA1Hg2BCH8vDYLfWczMG80NMMr26tL5Dm9ZxtbZV0vVN\nLH8JeKlVKdI0zaKconLuXrqL7XHZTOwTyOKbo/lpbwrnRQbi7dq6+oSG3Dy2BzeP7WHVfWodhx4S\nQ9M6iDfWHGVnfDazhoey4Vgm7649TnJuCTOGhdg6aVonowODpnUAx9MLWbotketHd+fZGYMxCPjv\n+pO4Ohm4aJDuIaxZlw4MmtYBvLjyEG5ODjx0YV88XRzpH+xNmdHEhQOD8XTRQ55p1qUDg6bZqfSC\nUrKLyvk+Jpk1h9K5b2okgZ5qCIuRPfwAmDlcFyNp1qdvNTTNTl23eCsnM4rwdHFkZA8/7qzRk3n2\nyDCKyoxM7NOlkT1oWuvowKBpdshkkpzMKALA08WRt24YjqPDmQz+0HBfXp8zzFbJ0zo5HRg0zQ4l\n5ZQAcNt5Ecyf1Fv3Ptbala5j0DQ7dCStAIArh4booKC1Ox0YNM0OHTUHhr5Buuex1v50UZKm2ZHi\nciOnc0vZnZBDiI8rXlbu0axpzaEDg6bZkcXrT/LGmmMA3G/FiXE0rSV0UZKm2ZH4TNUS6Y4JPXlw\nWl8bp0Y7V+kcg6bZkZziCqLCfFh4xUBbJ0U7h+kcg6bZkayiMgI8nG2dDO0cpwODptmRrMJyAszD\nXmiarejAoGl2QkpJVmF59XhImmYrOjBomp0oKDNSXmki0FMXJWm2pQODptmJzIIyAAJ0YNBsTAcG\nTbMTWUXlALooSbM5HRg0zU5kFZpzDB46MGi2pQODptmJzMKqHIMuStJsSwcGTbMTKXklOBoE/rof\ng2ZjOjBomp1IzC4hxNet1oQ8mmYLrToDhRAfCSHShRCxDSy/UQixz/y3WQgx9OySqWmd36nsYrr7\nu9s6GZrW6hzDEuCSRpbHAZOklFHAc8DiVh5H084Zp7KLCfd3s3UyNK11g+hJKdcLISIaWb65xtOt\nQFhrjqNp54qiMiNZReWE6xyDZgfaozDzDmBlOxxH0zqsUznFAIT76cCg2V6bDrsthJiCCgwTGlln\nHjAPoHv37m2ZHE2zW4dT1FSeOsdgx6RU/4WwbTraQZvlGIQQUcAHwHQpZVZD60kpF0spo6WU0V26\ndGmr5Gia3TpwOo/Hv9lPz0AP+gd72To5WkO+uA6+uP5MgOjE2iQwCCG6A98AN0spj7bFMTStM6g0\nSZ74NhYPFweW3z0WVycHWydJs6QoC46ugqMr4cA3tk5Nm2tVUZIQ4gtgMhAohEgCFgFOAFLK94Cn\ngADgHaGyXUYpZbQ1EqxpncmPe0+z91Qur187lK5errZOjtaQ42vOPF71OJQVQp8LwTvEdmlqQ61t\nlXR9E8vvBO5sVYo0rRPalZDNyv2pREf4c/GgIIwmyaIfDrDmYBr9g72YMSzU1knUGnN0FXh0havf\nh0+nw4/3g3co3LmmUwYHPeezprWDZ386xN5TuXywMY4hoT70DPTgh72nCfV148nLB2IwdP4KzQ6r\nsgJO/A79r4Rek+Hy18FkhJWPwqGfYMw8W6fQ6nRg0LQ2lphVzN5TuTx6ST/83Z35eFM8P+w9zbQB\nQXxwqy5htXuntkFpHvS9WD0fdQeYTLB6IeQl2jZtbUQHBk1rY0s2xwNw1dAQwvzcmTMqnKNphYT5\n6V7OHcLRX8HgBL2nnHnNYACfMMhLsl262pAODJrWRjYcy+Duz3ZRXF7J9aO7E2buvCaEoJ9ultpx\nHP0VIsaDS53vzDccck/ZJk1tTA/jqGktUFpRSWxyHj/vS+GvX8ZgMjXcpv27PacpLq/koWl9eXb6\noHZMpWY12XGQeQT6XFx/mU8Y5HXOwKBzDJrWTFmFZdz04XYOpeTj7GCgvNLERQODuGRwt3rrmkyS\ntUfSmT4shAem9bFBajWrOPqr+t/XUmDoDoVpUFEKTp2rqbHOMWhaMy3ZHM/h1HzGRwbgYBCE+rrx\n9p8nkBZ6wsYk5ZJVVM7U/l1tkFKtxTa/BdvfVx3ZqphMsPNDCB4CAb3rb+Mbrv7nJ7dPGtuRzjFo\nWjNUVJr4345TTO7bhY9uG0V+qZEf9p5m4Xex7E/OIyrMt9b6K3Yl4epkYHI/HRjsXspeWP0P9XjV\nY9D7Ahh8NRSkQOZRmPWB5e18zIEh75TlwNGB6RyDpjXD6gNpZBSUcdPYHggh8HFzYvqwENycHPhi\n+5kmi+VGEyXllfwQc5rLBnfDx83JhqnWmmX7++DkDnNXwdh7IHU/fDsP1iyCnpNg0EzL21XlGDph\nBbTOMWhaM3yyOZ5wf7daOQBvVyeuiOrGDzGnefLygexOzOEvS3fTu4sHBWVGrh+jRwu2e8XZsP8r\nGHod9Bin/qY9Aykxqu9Cz0mqaaolXiGA6JQV0DowaFoTDp7OZ3t8Nk9c1h+HOj2Urxvdna92JXHL\nR9vZn5SHRLI3KY/oHn5E9/CzUYq1ZlnzNGz8P/V41F1nXjcYIHRE09s7OoNXt06ZY9BFSZrWhE82\nx+PqZODa6PB6y0Z092VgN292JeQwKNSblQ9MZEJkII9fNgBxDozb32GV5J4JChETIXhw6/bjG65z\nDJp2rskpKue7mGRmjQjF19253nIhBF/MG0t6fim9unjiYBAsvXOMDVKqtUjV0Nk3fg3ho1u/H59w\nSN5pnTTZEZ1j0Dq9wjIj6fmlrdr2y52nKDOauPW8iAbX8XFzok+QV71iJs1OVRphy9sQNAQip4Gr\nT+v35RsOecmqaWsnogOD1qkZK02Mf/EPJr2ytkXblRtNlFZU8umWBMb09Kd/sHfbJFBrWyYTxK6A\n5N1nXtv7BWQdh8mPnf00nT7hYKqAwtSz24+d0UVJWqe2dGsCeSUVAJzKLm72nMq3fLSNXQk5VFRK\nXro6qi2TqFlb/CbIPgEBkZC0E35bqF6fuxJCRsDaFyF0JPS//OyP5VOjyWonmpdBBwatw8koKKOk\nvJLuAU1f5FcdSMXBIKg0SbbFZTcZGL7ceYqf9qWw9WQ2ALNHhjGhT6BV0q21g/zTsOwaqCg681rI\nCDi9W/VPSNkL+Ukw4+2zzy3Amb4MeaeAzlO3pAOD1qH8sPc093+xBw9nBzb8fSr+HvUrhKuUVlSy\nOzGXW8dF8M2eJLacyGL2yLBG9//o1/uqH//x8CQiAjyslvZOJ/80OHuAi7d1LrJnS0pY+Xc1ic7c\nVSo45CTAgKvgPyPh9B449hv0PF9NuGMNNXs/dyI6MGg2lVlYRqCnS7PWrTRJXv31CM4OBorKK1my\nOZ6/Xti3wfVjTuVSbjRxXu8ACkorWLE7iSuiujGlkfGLfNycyCupIMjbhV5dPFv8fs4Zf74A615S\nj509ISwanDzUHfSlL7VfOkrzIX4jVJZBbiIc+kF1UOsxrvZ6gX1U3QLA1Kesd3wXT3Dza3lfhkoj\nGEvqD+VtJ3Rg0Gxm2bYE/vFtLGv+ej6RXZv+gazYnURidjHv3TSCFbuTWbo1gQVTI3FysNyGYuvJ\nLISAUT39Gdc7gF0JObyz9niDgSGzsIy8kgruv6APtzXSCqlDkVKN+eMdoh5L2XBP3uZK2KyCwqBZ\nEDJcTVYTswzKC9Xy6DvU8VzaKLBmHlPB6Nu7IWGTyiFUGTgDxj9Qf5vAvqpZaWBfCB9l3fT41OnL\nIOWZHJSpEn58AEbcqoInwOGf4benVM/q+3efXauoNqIDg2ZVx9IKeO7nQ7x53bB67f53xmfj6+6M\nm7MDv8am8vKvhwHYeyqvycBwPL2Qp384wOgIfy4cGIyTg4HfDqax/mgGFwwIsrjNroQc+gV5VY9X\ndH7fLizfcQpjpQlHC8HkaFoBAKMi/BotouowSnLh69vVfMXhY1Sxiosn3L0BnJtXCW/RriXg4gMz\n3gEn8yx04+6BuPXwwwJ4e5QqXhp2g+pRHBhplbcDwM6P4acHwdVXBaLzFqhB7+I3QtIOmN5A3YFn\nF/W/5/nWS0sV3+6QdUKl4eRaFYhPx8CcpVCYDns+U8G0IBW8u6kWUX49oTgTdn4EEx6yfprOkg4M\nmlW9v+Ek649m8O2eZOaO71n9emlFJbPf2wKo323NkaqrLsgNKS43cu+y3bg5OfDm9cNxMAjO79uF\nAA9nvtmTbDEwVJokexJzmTH8TEuRoeE+LNkcz4mMIoszqB1LU3e8fYPsM3vfqKq71APfQtdB6mL1\nvxvVfMXDb4LUWNUS58jPsP4VmLaodccpzYOD38OwG88EBQC/CPDtAdsWQ0k29BgPOz6Ebe/Bpa/A\nmHln//52fwo/PQSewap56MjbYNrTannPiY1v322Y+j9w+tmlwxKfMDjxJ/z8CGQcAmEAaYIPpkGY\nOXeSfQI8uqiAdvnrKgex7GrYoQOD1glJKXn4q73MGh7GsO6+/LQvBYBvdqvAkFVYRnF5JadyigGI\nCHBn5vAwIrt68snmeA6l5nMwJb/B/cdnFvHUDwc4ll7AkrmjCfZRE6I4ORi4cmgIn29PJK+kot4o\npodT8yksMxLdw7/6taqhsfcm5VoMDIdS8vF1d6KrV/PqPOzKV7eqi/bJddB9HHgFQcJGuPpDGDL7\nzHrf3QOb34SoOdC1P1RWqOcDZzRv6OjYFWAsVcGmLiHg9lXg6AoOjnDx8/Djg7Dyb7D5P3DNEggb\n2fL3lnVCVSof/01VGl/7mRr4rqFRTy0ZNFNdpH3rD2ty1nzCVUV3xiH1XJpg5mJY9yIcXamCkmdX\nGP+gmiK0SuSFcPIfsOJO1bR28mPWT1srtaqwUQjxkRAiXQgR28Dy/kKILUKIMiHEI2eXRM2eZRSU\n8c3uZG76cBufbI6nuLySmcND2Z+cx57EHP7xbSzXLd7KxmOZOBgEPy6YwAPT+nB5VDe+nD+OiwYG\nczjVco4hPb+US/+9gY3HMnhh5hDO79ul1vKZw0MpN5pYuT+l3ra7EnIAGFljILueAR54uTiyLynX\n4vH2JuUxJNSn441xdGq7uos/uRaQkLhZ5Rwu+mftoABw4bOqfP7nh8/chf/+rGrieWpH0z149yxV\nOZKQ4ZaXu3iqoADqYnjNx3D5aypofDZDFWc1l8kE616Bd8ZC4la4+AU1hIWrN4y6A9z9m95HFSHa\nJiiAmt2t1xQVfEbepj6fqGvhjjUQdR1csBBu/Kp2UIAzn+H+r85UjNuJ1uYYlgBvAZ82sDwbuB+Y\n0cr9ax3EiYwz7cVf+fUI0wZ05bkZg/nzSDr/+eM4MadyyS4q5521Jxje3Rcv19p39gO6ebFidxJZ\nhWUE1Gmd9OO+FEoqKvlpwQQGh9avoIsK86FXFw++2ZPMdaNrD3G9Mz6HIG8XwvzOFHcYDILBoT7s\nS8qrt6+S8kqOphUwbUAHnHBl85uqZUyP8dCl35m76XH31V/XIxAufEZViH54EaTFqgrZvCT4cJoq\npgmIVBfSW3+sXV6fdQKSd8FFzze/eaqjC4y6Uw098e54+PF+uPm7preXEn5coALRoFlwyYsqF2SP\nAvvALd+pxyaTyjEIAR4BMOu/DW/XLQoQgISceDUEeEuCXRtqVY5BSrkedfFvaHm6lHIHUNHahGkd\nQ1zmmcDg5uTAPy4fiKeLI3PP68kfh9PJLiqvXm6ppU/vrp719lPlh5hkBoV4WwwKoAawmzU8lO1x\n2ZzKLq61bGd8NtE9/Ovd/UeF+XAoJZ8yY2Wt1w+czqPSJOvNxGb3ClLh8C8w/Ga4bhlc8BTcv1fl\nDBq6+A6/BfpdripvB82CG76Evx6CWe+rFjsJGyF+gwoWNR35Rf0feFXL0+kXoQLSybWqMrYpMZ+r\noDDxEZj9kf0GhboMhjM5pqa4eKmgXCVlb9ukqRX0WEnaWTmZUYiLo4GfFkxgx5PT6BmoOoRdP+ZM\ntn1Kvy7MiQ7nqqH1hwzoae5AdrJGYEjLL+XTLfHsTcqzONR1TdOHhQJqPuYqp3NLOJ1XWqsYqUpU\nmC8VlZIjdYqvtser+5yhYfbXdLBRMZ+DrFSVmVWaao5qMMD1n8M9W1QPYP+e4Oarij/mLIXbzAEg\n48iZbYqy4MB3auA531ZOQDTydugxAX79h+ocV0VKVYyVshfKi9Xzre+quZan/MM+Os+1ldF3wei7\n1eOUGNumpQabVz4LIeYB8wC6d9czXnUEFZUmKk0SVycHTmYW0TPQo95dfVcvV3oFenAys4gPbh3V\n4MijYX5uOBoE8ebA8OfhdO5ZtpuSikoGhXhzYxOzoIX7uzN7ZBgfbozDy9WR2yf05M8j6QCM7lk/\nWx5lvvDvTTozT3O50cRn5sHyunq7tuzDaE9Sqrv23ETVm9erm6oj6DHBuk1Cuw5Q/1c9Buv9VfPL\nXPP0pdOebv1+DQa46k1VpPTTQ3D9/1QTz83/gWO/mlcSYHBQfRMuf+3s+1zYu9HmCYKO/6aatNpJ\nCyWbBwYp5WJgMUB0dLRsYvVz2uYTmZzIKOKmMd1tWkF64wfb2B6XTfyLl3Mio5BBIZZHHv3uvvFk\nFZY3Ohy1o4OB7gHuxGUWIaXkqR9i6e7vzoILIhnZw89if4O6Xro6CinhjTXHeGPNMQAGdvO2mK4w\nPzcCPJyJSczl5rE9ANVxLiWvlBdmDWnO27ed7Yth5aPq8R//VBfOnDiY/Lh1j+Pur5pVZh2DLFR9\nxag71ZhDERPObt8BvVVl7K9PqNY4sStU/cgFi8C/l8qlnN6tisiGXGOVt9Mh9L8Ctr5jN/UMNg8M\nWvNsj8vmto92UF5p4vdDacwcHlpdjGKLtADsScwhIau4+gJbl7erE951Kpst6RngQVxmEfuT8ziV\nXcLLs6O4Iqr5I1U6GASvzI5ifGQAK2NT+e1gGrdP6GkxeAohGNHDj10J6j0Ulhl5bfVRRnT3ZXKd\nVk92JfM4/LYI+lwE5z+qKop/fkT1mm1NmX9TSs0tt25aoSqOrWnMfDi2GmK/Vk02r/307DrcdQZD\nZqtGBAe/g+jbbZ2a1gUGIcQXwGQgUAiRBCwCnACklO8JIYKBnYA3YBJCPAgMlFI23GC9g8spKmfh\n97GsPZLBRYOCeP3aYVbd/0cb4/B1d+LKoSH8uPc0a49kkFNUzm01OpG1t4Xfx+LsYGDWiMYHpmtK\nz0AP/jySzp2f7MTJQXDxwOAW78NgEMwaEcaMYaEcOJ3P4NCG508Y2cOP3w6mkVlYxrojGWQWlvHO\njSPst5mqqRK+m69a+Fz5puo9G9gPMo+o8umaHc2sZfITsON96DXV+vs2OKiWSWUFqgLWXj/39hQc\nBQF9YP+KjhsYpJTXN7E8FTi7q4UNncwoJMTXDVcnh2atfzy9kDs+2UFKbil9gjz5ZncyL8wc0uzt\nm1JuNLHxeCZXDQth4RUDefzS/tz+yU5e/+0os6PD8XRpv4yfrNFlOTY5n+nDQs56+IjrRoeTV1JB\nXkkFw7v74ePedC6jIQaDYEgTFcjR5krp3Qk5bIvLwtfdqfo1u7T5TTXcw9UfqqAAai6BjUdgxC1t\nc8zJf1d/bUUI1R9BU4RQRWdr/6Uq5m08t0OnqNlJzi3htdVHMFae/fR62+OymfraOkY9v4aErPpN\nKOs6cDqPme9soqjMyBfzxnLHhJ7VabKWnfHZFJYZmdJPDf7m6GDg4Qv7kl9q5PNtLegwZAX5pcZa\nzxdMPftKz8iuXrxyzVAW3xLNXya3fT+CwaE+ODsY2JWQw7a4bEZF+GOwx2k5U/fD3v+pkUwHzoDB\nV59ZNuEhddfd2knsNfszZDYgIfabptfNS1I5rtI8Nd6SlXWKOoZlWxN4Z+0J4rOKWX80g5E9/Hjr\nhuG4Ozf89mKT89hzKrdW+XhFpYkXflHd2gtKjayKTeXuSQ1fqNILSrnzk514ujjy1fxxhPm5Vwen\n5JwSerdy2GaTSbJ4w0kyC8q4b2okv8Sm4OJo4LzeAdXrDA33ZXxkAO9viOOWcRFWy500pWru5P7B\nXlw6uFuzRkW1N65ODgwO9ebn/Skk5ZQ0WEdiU1LCZ7OgKF2NsXP567WLXFy9ofcU26VPs76A3mr4\njNiv4TwLnROr5J+Gt0ar88FkVEOUWFmnyDFsPZkFwI97T5NXUsHaI+nMeHsTj3y1l1Wx9YdLAHht\n9REWfhdLZmEZlSbJxmOZ3L5kBzGncnljzjB6BXqwI752H75vdiexdKu6Q88vrWDep7vILa7gg1uj\nCfNTlWdh5hnCzibHsDsxhxdXHuaDjXF8tTOJn/alcNGgYDzqFBndOzmSjIIyVuxOamBP1pdeUAbA\noisH8cC0Pu12XGsb2cOPpBz1HU3uZ4eVzmmxKiiEjYIblqtetFrnN2S2mlAo64Tl5SaT6gdSUQTe\noWoww7v+tHoyOnyOoajMWGuIg5evjsLbzYm3/jzGbwfT+HpXEg9f2Jf7pkZWVy4WlhnZdFwFkw3H\nMvhuz2nWHc3Ay8WR52YMZsbwULacyGLVgVRMJokEPt+WwMLvDwCw5WQWMYm5pOWX8s6NIxgUcqZM\nO8jLBQeDIDnHcmCQUrI7MYed8TncObFXraacB0/n8+DyPRxPL8TRIPBxc+J5cw5m1oj6LZDG9Q5g\naLgvr60+ir+7M9MGBjU4N4G1pJlzDF29O+BAczWM6O4HxOHu7GCfuZ7DvwACrvtcjTmknRsGzYTV\nT6o5G8bfX3uZlPDNXXDgG9U4oA3rgDp8YNidmIPRJJnSrwu7EnK4eHAwPm5OXDI4mDJjJY+v2M9r\nvx3FwUFw9/m9+f1QGv/bcYryShMOBsFLK4+Qml/KPZN7c/8FfaqLZEb39Gf5zlPc8tF2jqUXkJZf\nxrheAZQaK9lwNINh3f14eXYU4yNrzwfs6GAg2NuVpJzaQzRUVJp48ttY1h5NJy1f3XX37+ZNcZmR\n9ccy8HZz4uON8VSYTEgJoX6uTOzThc+3JdLd352JkfXnHRZCcO/k3sz7bBd/Wbab52YMbvNikaoc\nQ5A9dwRrhnG9A+gb5MkzV9lhGX36Ydjylpo7QAeFc4tPmGqdFL+hfmDY+o4qZpr6pBoqpA11+MBw\nONm43noAACAASURBVEUNbfDatcNwdjTUaqHj4ujAa9cOpcxo4v9+O8qyrYkk55bg7+HMBf27EuTj\nyufbEnFyENw7JbJWOf2VQ0M4mJLPuqMZDAv3ZdaIMC4cEFRdzNtY08ZQP7d6RUkHTuezfOcpJvXt\nwj2Tu/LMjwf4PiaZtUcyyC4qRwiYPjSEu87vxax3NnPP5EiCvVX6/nZxvwY7ek0bEMSLs4bw2Df7\n+W5PcpsHhtS8UtydHdq1JVRb8HV3ZvVDk2ydjPpO/AFf3qqapk5/29ap0Wyh50TY95Wa/rNq3KX8\nFNWpse8lKii0cRPfjv3rBo6lFxDo6dJgk0khBM9OH0R+aQUujgaeuGwAFw8KwtHBQLnRxOgIfwI8\nneuV3zs7Glh4xUAWtiJNYX5ubDYXVVU5eFp14fjnjMGE+7uzOzGHb3YnA/D6tUMZ1zuAbj6qPfrB\nZy+pLmLa9NhUQn0bbqduMAiuG92dnOIKXlp1mMSsYroHtF1noT2JOQzoppsZtonibPjmblV2fMPy\nthsmWrNvERNVS6OUmDPTgf7xT1XRfMm/2qXfRycIDIX06dp4658ATxc+u2NMvdedHQ3MGG793sMR\nAR58szuZkvJK3JxVLuRQSj5eLo7Vw0DfOaEXmYVlBHq6MGNYaK3mkjXrHRoLCjVdMjiYl1Yd5vFv\n93EivYiv5o8j3N+6ASKvuIL9yXksmNpxK53t2qrH1OxnN38DfnbYUkprHxHm2eji1quWSrmJak7t\n8+5Tw4a0gw7dKklKyfG0QvoEtdGk460UYR5hNCH7TD+Igyn5DAjxri6CGhLmw7I7x/Lv64ZbpQ19\nRIA7wd6ubDqeRWp+KQ8tj6HSZN2hp7aczMIkYUKf+vUd2lk6sgr2LYeJD6tRRbVzl2cX6DIAfn8G\nXolU83a7+7d5vUJNHTowpBeUUVBmbDLH0N6qhpKuGjHUWGniUEo+A9uwCEYIUd3PIcTHlZ0JOXyx\nPdGqx9iTmIOzo4GhHW3OAntXkqMmuO86sF1//Jod63Ge+m8yQtZxNVCiW/v97jp0YPhyxymABidy\nsZWIQFWEE5dZzC0fbeeiN9ZTXF5ZrwWTtU3q1wUh4MPbRjGuVwAvrjzMyYxCq+3/ZGYREQHuODt2\n6NPGvpgq4es7oChTVTY7nt3wIlonURUYxt2n5ooeObddD99h6xg2HsvkzT+OcUVUN4Z3t69xbrxc\nnQj0dCYus5D1RzMAVSE9tX/bNj28amgIw8J96RHgwavXDuWKNzdwzXtbuGpYCJcP6UZ0xNkN5xuX\nWUQvczGZZgUmk2qzfuL3/2/vvMOkKrL//Z6ZIcmQc0bJQUEBUTASVhBQEZQ1B1bMuu4qP1fX7KKr\nfllzFjDjqqtiFhQFAZEgJrIkQQkDIiOZ4fz+OHWZO5GZYbpvN9T7PPNM9w3dn65b956qU6dOwYCH\noMERUSvyJArtB9l4Qv3DI0kymJRNv8xtOxn24kya1UrnrlMTMA4dyxg6c9lve97ffHKbQtclKA1E\nhCbOjdWgagVeHNqVDo2q8sr0FQx+chq3j/txTxK8XVm7mb3it8I+LgdZu5UV67fsWaHNU0x27bDB\nxIUfQ8Yi2LAEnuhmseldLrFF5D2eABFrKESUeTYpewzzfs1ky44shvdpRbV9zOwZK5rVSmfGMnN1\nPXt+Z3q1jf+ate0bVGHUhV3YuiOLf380nzFTl9GkxkFc1P1gRo5fyOOf/8Rrw46i6yF7T7fwy8at\n7MjaHb1h2L3b1gqIejGT9T/B2nnQpn/Bx6jauso7tsArZ+ZdurFcZTj92ZzJ8TyeBCApDcP81TYn\nIJHj6VvUyU6zUL+IIaexokLZVG4b0JYFqzMZ+clCKpZL4+lJSwB48avlRTIMS91AetOoDcPHN9lK\nZocNgSPOy/bFxot1C20xlZmjIfMXGDoBGnXJe9z2THjnSpj7DqSWBUmF05608MMNS2Djz9D6ZKjT\nLr76PZ4ikJSGYd6vmVQ9qAx1Ey0tw+b11pqt0SxHpFSDatEaBnDpM05szrnPTWf4G99xaIMqtKiT\nzrg5v7BgdSat6haeLyhIQd60RkSGYfdu+OZFmP6kRe/MG2d/1y+EsnHStHSSZTzdvdOWozyoJnz8\nDxg63rr8Wbtg6kNQpRF8cZ8ZgE4X2cI0XS+Dmm7+R6Mj46PX4ykhSWoYNtG6bqV9X3FLNa8PL2Ox\ndftrtYYBDxY9V803L8G4q0F3Q9fLadntdgAqlUujSoWSLzxTmnRvXoNHzz6cimXTOLZFTTZu3cmk\nhRlcO/Yb3r/m2ELHQFZv2kZqilC7UgTJ85ZOtp7C6u+gUVdbbnL19zC6L8wdBx0LXTeqdNixxa5v\n1cZw0QdQobrNOxh3la1bfOhg+OB6mDXajq9YGy4Yt+9rJHs8EZB0g89rNm1j/upNed1I237P+X7n\nNvMD79qR/wdNuh+ePAa2/+FmFr5qESIvD4It62HxeBh/a85zfltuhiNg60b48W17YLx3HTTpbguq\nTH+COuV3UalcWkL0FgJEhP6H1efE1rVJS02hZno5bh3QlvmrM/ls/tpCz12zaTu10svFd0GbrF3w\n+oXwfH9LFzHoObjoI1sOsvHRFrUx5+X4aPn8HvhtmUUPVaprYaUdz7YlGcffBosmmFHoejn0fxAu\nneSNgidpSaoeQ+a2nVz9yjcIwjldQykDPr7ZslFeOsn8z4vGwx9rbF/NVpa6uGZopbFVs+Dzf5tL\nYHRfWDvXJpKklrWewimPwuIJMOVBexhUrAVl0811kbUDDj4e/lgNa360HkK5ytC6P/T7P8uKOPdt\nZP1iuh5SgxqlOTi+PdOMUSnm0Dm5fV3uqVKeUV8upXchA+RrM7cXLdX2mrnWuh88au8DxMu+hNfO\ng8smW1bJ3PzwJvz4FhzzNzh+eM61jUXswfzZ3bBhKVQvZO3rhR9b2R06eO/68+PXb2HaY7aM5sHH\nZm9PSbXcNWP6wdizLcdRz1v9wvaepCdpDIOqMnTMTGat+I2RZ3agee10a0VOegC+clkoR/eDrO3W\naq/ZAspXhS/uhWd6wMAn7cH/1eMWN16hOrToDT9NtFDBLn+xdLdBNsOGnS3D5U8TYd0Ciy6pf7gZ\niYyF1mps2Qea94IGnbPPq9nK/mcs5Onzzii9aLMdm2FUX/Nbn/Uq1O8I5fd9Yl9aagoXdz+Yf30w\njymLMwqchLd207Y9ixEVypQHYclEGw/ofm3hx05/0nID/TTRBpLDqMKX/7HxhB63QEo+ndsOZ8Fn\n/4I5r0CPm/P/ji//AxNut9ct+0C5Ys6Sz9plPcKDakDvO/Pub3oMHHUlrJsPx93gjYJnvyBpDMNH\nP6zm62UbGDHwUE7tUB+mPmoDfDsyrSX300T4/WebJdj7juwTW/WBsefAWOeHTq9j+cw7XVz4qlhl\nKsCJN9lfcah+iEWgrFtQum6XCXfYql7lKsMLp9jg5+nPQote+/zR5x3dhDFTl3HXe3N59+pj8l3s\nZ23mdo5ospeJhH+sM9cawKwx0O2avGM4WzfC7Ofhm5chY4FtWz41r2HYtArWzYO+9+VvFMB6Gc1O\nhG9ftZQBuY+b+ogZhcoN7PMWfQLtTy/8N+Rm+hPWYzhjjJV5fvQZUbzP9HgSnKQYY9iZtZv7P15A\nyzrpDOnSyFw6n9xs0R2XT4VTHoHDzoSUNOgyNOfJVRvDxR9D3/thyEvw1++tZRerpRLTyppxCB56\nYTYstd7Hpl9h1/aif+b6n2Dmc9azufhDc3Wl14W3LzcXyT5Svkwqt/S3sYZnJi/Js3/Hrt1s2LyD\nOpUKiALbuAK2bYK3LgXU8v1sWGJutYDdWfDpnTCyrY3dlK1oPbB6HWHF1LyfuWqW/Q/SDhdEx3Os\nQbDgA+tlBEx/ysaM2p0O18yxnt7Xz1gvs6jMGmMGuWVf64V6PAcISdFjeGX6CpZkbObZ8zuTun4R\nfHCDZaA8a2y2C+e4Gyy2vWrjvB9Q9iDoOix+gmu1MgMQ5veV8MgRNiYBNmZx5XQbs1i3EFqelLN1\nvW4BLP7UekOf3WVusBNuNBdWnXbmYnm2B0weCb1u22fJfdrXpW/7ujw4YRF92tXlkFrZLpd1fwSr\ntuUzxrD1N3ioI2iWvR/wkF2HGc/agzVjEfwyG7J2WhRP+8HmYqp3mB0/7TEbk9j0K1Sul/25q2bZ\nb66zl5ntrftb2Ohr51hvSsTcez+8aftOfxpSy1iP4oMbLFndmS/svUCWT4N3/wrNe5obMqIZqB5P\nFJTIMIjIKKA/sFZV89y5YnGkDwEnA1uAC1V1dnG/R1V5fdZK7nxvLsc2r0HPja/DWyPsQT/wqWyj\nAOb6qdWqJD+n9KnZEhZ+ZA/DVBequnKGGYVed0Baecu9/81Ldtwv30CleuYaqVTXWrlvuKRZq2ba\nAOxxw21fQMNO9gCe9pj1JEohf/8dp7ZjyuIM7vtoAU+e12nP9kLXeV7woRmFtPI2+H74uba9w1lm\nHH54M/vYHrfAcbmyhzY+2v6vmJo9Azhjsa1kVvdQG+cpjDLl4ZJPLVhg7TxbFvOHN208YfDo7PLv\nMtRcQj++bb2XlNSCPzNrl4WhVmsCZzxf/HEJjyfJKWmPYQzwKFBQ06sv0ML9dQWecP+LxXNfLuXu\n9+fR/ZBqjKo2GvlkrN3wJz+Q2Ktb1WplUU4blmQbq1/mQEoZOOpye9gt/MhCIMFCHmu3tUinpZNh\n3rsgKdYS/uFN+9/t6rzf0/M2i+OfcDucMXqfZdeuVJ4hXRoxZuoyNmzesWdVvLWBYcjPlTR3nE3o\n+uv3OVvVnS4w/zzAISeaq6/j2XnPr3uY9Z6WT7OW/oznrFyydlg0UlGo1tSCB8CM8aLx1tLPnam0\nSXcb31jzY3aPJTe/fmeRbesXw5CXvVHwHJCUaIxBVScBhTlrTwVeUOMroKqI1Cvk+Dys3bSNkeMX\n0qNVLV6s/wZlvh9r7oCzxia2UQDrMUBOd9Kvc6BO2+wW8PHD7YFYvipc+B6c/hSc/461ugGa984e\n+D5+OJTPJ/1HlQa2YPiP/4Pbq9jDdR8Z1KkhO7OUd7/9Zc+2xWstdXeedBjbM61l32ZAXldL7TbQ\n6CgbiB88Kn+jANbra9jFFjkf2c4WJ2nWE66aaaGfxSW1jKWayK+nEaTPWJ7PmEbAuKssoqpBZ2jd\nr/jf7/HsB8RqjKEB8HPo/Uq37deifsB9Hy9gZ9ZuRtZ8l5SZz5lf+oQbS1tnbAgMQ8YCm6FboZr1\nGNqemn1Mk25ww08WhhoOO2030Pzrh51p/vXyVaDNKQV/V/drzQDNfRu+fgqaHL1P0lvXrUzbepV5\nc/ZKLujWFIB5qzNpVL0C6cG62Ns2WYt+yecWHlyQvn4PmHtnb/MZWvaxdBPtT4ejrohd+umqjaBK\nY1g+BY66LO/+VbPN3dTzNjj6Sj+u4DlgiZVhyO+OynedSREZBgwDOLhRPZZmbOaKl2czf/Umnm0+\njaqzHjEfeq878js9MSmXbu6VdQttAlZA8545jytT3v7CBJOmAvYWXlm2Ipz5PHx4o/n0l0+1Qetj\n/1biHEKDOjXkrvfmsmhNJi3qVGLB6kxa1w31WJ7tZUav7akW/tuoAC9h3UOLtkzlkcMsXDUeOY+a\ndjdXU37pUGaNgbQK0PnivY9teDz7MbEKV10JhP09DYFf8jtQVZ9W1c6q2rnyrvWMeO0Lft6whbua\nLaDnz4/YQGy/kcnXeqvZ0lqfAQcfV3jLf1/pfLENbo/pD5MfgJcGW8u+BJzasT5pKcIbs1eybWcW\nSzM20zqcZC8IxV3woUX+FDTPoKikpMQvEV6TbrAlw6KlwmzbBN+/YQPgcVxC0eNJRGJlGMYB54tx\nFPC7qu7VjZTCbq5Ycwtv1Xuec9eONB/1wKcKjyBJVGq1yn6AHnOdDWTG0rjVamkD25plIa4rv4YX\nTi08bj9rZ76ba6aX44RWtXj7m1UsWJ1J1m7N7jGE5wpk7YC2MTR2saBJd/u/fErO7T+8ATs3Q+f4\nLqHo8SQiJTIMIvIqMA1oJSIrRWSoiFwmIoHj9gNgCbAYeAa4okifW7Uxh6cspvmm6VCvAwx6NnnX\nwA3GGcBa1fkNHpc2ve6ASz6DAQ/bZL41P8DTx1vKiNxGYOYouLex5RHKh0FHNGTNpu088IkZt46N\nXSt6c0b2QRWqZT9ok4Xqh5j7KzwArWrrK9RpDw06FXyux3OAUKIxBlUtNM+x2vqRVxb3c+WganDN\neKRKo+z482QlPKeiWtP4fGdqWvaDrVVfOH8cfDjcZkiPu8Ym0aXXsVDM5VMBteyll0/Nk4SuR5va\n1KhYlsmLMmhZJ50GwWJDvy2z/63726Bxsl0nEXMnLZ+SPc7wy2xL6X3yA8nnsvR4YkDipcSofkjy\nPWzyI0imVzbdErBFQZOjLePsWa9ZnP/SyeYy2bHZwkcvnWTzJT7KG+1VLi2Vs460WeQntAqtSfHb\nUvvf89a8+Y2ShSbdLXfSxhX2fuYoKHOQRYJ5PJ7kSImRlFSsYQahUr1oW6EilkiwVR84aYS9D+s5\n7gaYcJvNgcgV6nre0U2YtGgdAw9vkL0x6DHkl3okWdgzn2GKhQN//6YZhVLIVuvx7A8kXo9hf6J1\n/7whqlGSkpLXSB05zBLMfXa3LZ8Zok7l8oy76piciyKtmm2usTKJswBRsanVxsZHlk+Bb8fCrq15\nky96PAcw3jDEklMezj+HfyJR9iCbYb38S1uvuDCCmc6tTo6PtliRkgKNu8GyKeZGatDJgh08Hg/g\nDYMHbMH6dgMtLfbSyQUft+gTN9N5QPy0xYom3Wy8JGMBdPa9BY8njDcMHnMvnfIIVG8Gb1wMmavz\nHqMK0x63Gd0FzXROJpq6MNsazS1Lrcfj2YM3DB6jXCUY8qItYfr+3/PuXzzBUoAfd31yTjjMTb2O\nthb4sC9ypm/3eDzeMHhC1G5jy3HOfw/WzM25b+ZoqFjbVkzbHxCx7Kk+rbbHkwdvGDw56XoplKkI\n05/M3rY5AxZ9DB2G7B9zTDweT6F4w+DJyUHVbT2Dee9mp9H4/nVbeKhDAWsqeDye/QpvGDx5aTcQ\ntm6ApV/Y+zmvmE++TttodXk8nrjgDYMnL8162qztiSMsdfjq7wpegc3j8ex3eMPgyUuZ8tD3PltJ\n7rVzba3q9oOjVuXxeOKENwye/Gk/CA4+3hLNtTzJcj95PJ4DAm8YPPkjAn+627KO+jxCHs8BhZ/Z\n4ymYeofBP1buHxPaPB5PkfE9Bk/heKPg8RxweMPg8Xg8nhx4w+DxeDyeHHjD4PF4PJ4ceMPg8Xg8\nnhx4w+DxeDyeHHjD4PF4PJ4ceMPg8Xg8nhyIqkatYQ8ikgksiFpHCagJZEQtopgko2bwuuON1x1f\nSqq7iarWKi0RiTbzeYGqdo5aRHERkZnJpjsZNYPXHW+87viSKLq9K8nj8Xg8OfCGwePxeDw5SDTD\n8HTUAkpIMupORs3gdccbrzu+JITuhBp89ng8Hk/0JFqPwePxeDwR4w2Dx5OEiIhErcGT+JS0nhwQ\nhiHZbiIROUJEykStw5O4aJL6gEWkWtQaSoKIpIdeJ83zpKT1ZL82DCLyLxFpkyw3kYicLSLfAicB\nu6PWU1xEpIeIVIxaR3EQ4wgRSbQ5PfkiIueJyEQRuV9EzohaT1ERkSoiMgsYE7WW4iAi54jITOB+\nEbkTksMo72s92S8Ng3vATgKuAM6NWk9huAdTBRG5BxgBXK6q96hqVrA/WoV7x908s4ATgZ1R6ykm\nrwCjgA5RCykIV0cqisjDwMXAbcAiYIiIdIpWXZFRYBtwqIgcG7WYvSEi5UXkFuAvwN+AR4G+ItI+\nWmUFU5r1JClaSUVFRCoD9wNNgX8AbYAqbp8kmqUXkbKqugPYKiJrgReA6SJSATgWmKaqmZGKLABn\nsNKAa4Gbgb6q+lW0qoqH+w3lsZunk4gsU9X1iVRXQnVks4jMAW5R1d9FZCHQBSgXrcL8EZEUVd3t\nXqdijdBXgVTg30C3COXtFVXdJiJvq+pdACJyOFZPVkWrLH9Ku57sVz0GVd0EPKOqJ6nqFKyVcqbb\nlxA3eoCI3Aa8IiIXO0MwFkgHPgK+BoYBY0RkmDs+Ya6ViJRRYyewEHgZWC4iZUVkkIjUj1jiXnEP\nLgW+AmYA3bGGRMLUlVAduUhEKqvqKCBTRFJVdTXQHEi4HqWI3IS5XgYCuN5vVaCfqj4E7HT1vnuU\nOnMjIjeJSFf3OkVVv3evewIvAbWBkSJyfXBMZGJDxKKeJMQP2xdyXcxUVZ0Z2v0msEtEDotGXf6I\nyHXAMcATmPvlXmALMAGYD/RU1cFu/xUiUiVofUWNiPwDeM5VwkrARGAF8CEwGxgIPC8iN7vjE6KO\nicgdItLPvRZV3S0iVYGjgEeAH4ATReQSETk4Sq2Qp470AO4UkXqqultVs0SkLrAd+C5KnWFE5DAR\nmQ60x4zt7SLSz/XMsoDJ7tCpwDPA/0uE+iEi9UTkTWA4ZgBw9SN4mP4MHKuqvbB79XYRqZkI92Ss\n6knkF6WkFHAxs3IdVg1YSgL9TtetPhy4Q1U/Be7CLtzfVfUDYLiqrnWHz8UuaIVIxIYQkdYiMhVo\nB7wODAIucK6uyZhh6KOq5wLXAdeLSI2obx4RqS4iTwPXACOC3o5rEW4E5qvqVqx3ORy4CPg9QskF\n1ZGtmNsuoA6wVVUzReRQEekbgdTcpADPqerZqjoW+C9whuuBlQWGichnwPHAJOC7qOuH43fgdVWt\nCmwUkb+57WkAqrpQVTe41wuAd7HeQ6TEsp4kzAOzBOR7MSUUXaKqS4HGQEe3L66/N9Ti2PPeGa81\nwFC3eTH2oO0gIp3cQyq46DdjlXNd/FQXSCbwX1U9V1XfBf5Htp94FnC7qq4EUNUfMJdYzUiU5mQz\n8LaqVsP8w3+DPS3CmkBPZ/AGAS9iRq5qvMQVo478D2gjIkHmzUOBsmIDpKOJc+Mht27HIuCl0H32\nBbDb3ZNLgPeBd1W1G3A6cJq7BpGiqlswbWCNmpudz35n+JkhImliA7uVgWXxV5pNrOtJ0hqGQi7m\nLhFJcQ9WsIdub3dOpK2TkO/6KaChMwS7sUo2g2wDdr57vxMYmk9PKKbkd9Or6iqs+x8wHagkIuVV\ndYeqbnfnlhGRR7CbZ3lcBDsK0L0da52CRWlcIiL13L4M7EZ6TVWPBq7EjEL5+CjOO55RhDoSRE91\nxVre5YHjVPV/8VGcl6DcVXWzqm4J3Wd9gTWqusv9rqtU9T/u2N+Aw901iKfWBvltdy1qUdUvMYP2\npNseDKCfi439ZWG9oC1xkoz7/lNEpFlIb0zrSVIYhtyFElDYxQw9THcAbxXQwomV3gEiMha4UUSa\nhLYHvZkV2HjCcKd3HdY1DTTOBc5U1b8GPYg4ExjVHA9bVd0cOqYH8LOqbgsdeyrmPw5unm3Elz1a\nc+n+w9WTGVg9uSu07143IBrcbFeo6tyYCzXf+ysicruINA9tD8q+oDoS3LMfAkeq6s3xfEiJSB8R\neQe4K2iVBq65oMxD9bwl5nZBRNoSihB058UttFlEeomFVF+ea7uE6kpQ9pfjejMi0k5EGmE9yUGq\nel2cy7uXiEwDngPqhbYH9SA29URVE/YP6AVMw1wpx4S2C9kJANPc/zrABsx90QY41G0vE4Hmr4E+\nwC3AA1g0RviYWkB9d0H/CTQDPsZ89lGWdz9gPPAw1roItqfmU94PAn92rzth4zlNgKYR6D4ZeAcY\nCZwQ2p4CpOTSXQsb4G+BtaaOCupUnLSWxxow04EBwPOujhxcxDpyYQTlG4T1jgG+BE5x1/8JoEa4\n7LAeVwX3ejQwBBsDfBuoE4HussDjwBzgtFz7U3OVd/nQ+2exSaYzgLYR6E7HjOrnQE/3+pxwXY5l\nPYlrBYtRoeR3Mb8G2kWk/17gVve6NtbVexNId9sedw+xulj0xr+AmcE5EZZ7U3fznIK1mF4C/pLr\nmFpARff6GeBqd/N/QDQGoQzwf+569wVudeV9ZK7j6gEHhd4/5OrJHKBLBLqvBRq5162Bz4B6od/0\nSILWkYHBwxQ4DngytE+AxzBDVwc4xJXxN8C1Eet+HhsDA2ssdMi1/1HMcLV1+8/DXDI3RKz7z6HX\nV2FjfMH7tFjWk8h+dCkUysOJcDGxaJd7MdcP7sH6Ec5guYfQW9i8hKZYq6tars8olwDl3RN41L0u\nD5wAfAtUd9sec+Xdwt34W7EQz79GrPtSoJl73QB4DegUqif3YWMMXdzDqz8WqTY8gjpyhntfwWkp\n596PB45wrztixjbyOpK7boe2n4H14idibrluwJHhuo01im4K6k9Euoe4982AT7Ge2Rysofm0q+NN\nMcNRLXR+Z6BqhLrPyLU9BTgHawQFdSam9SSuPzyWhRLvi+lu7OuAKcBgYB5wPuZXHQ2MczfOaCwE\n8uZc56fGS2sB+gcDXUPvWwG/krMH9ri7JvXzuXmui+imz627rKsjZd37D4CTQr9pZC7dLYAqEdaR\nC4FaoWMauf2V8zk/kjpSiO7abv8JWLRLGpZ25lni7CYqhu6hbt/VwHuuTlTCem1PhZ8ZhLwRCaA7\ndz3phoVW53d+qdeTSC9kKRVKJBfTffc44ET3ui/wH6w1FcQX93P7zsVmZAfnpUSouTY2APsL1gNI\nCe17AfhP6Lp0xKJ2qoeOiephla/uXPqrYS3DuolST3LVkT6ujpwX2n8yMMq9ro9F6kRaRwrRfUE+\nxx2LpbpId3Um0XQ/RHZvPj103HFYnqyKCao7Rz1x2ycAp7rXwZhfTHRHHpWk9utOBP6pqm9gRqID\nVjjBMVOBlS7qhVD0Q4qq7oq35lBEwEzsxkBVP8TSQ3TGXBvfqGoQTnsENtiIOzaysFm1yXPvYOX7\nK+aKCbgTGCAi7dx12QpsBHa44I0UjXPobEAhujV0WGPgd1VdLSINxVIZBDHfca0nBdSRj7A62eOC\nyQAACLpJREFU0k5E2rn9tYBtInI1NmjY0B0bSR3Zi+42ItIy1yl/wurJVjUSTfd84AgRaaWqf4RO\n6Y1lG9iWoLqDetLaHVcZ+y073DHq/sdEd6SGIVELJR+dqeH3oe9djMXyH+ref4HF71d2550sIl9j\n0TpvxkNrYYTK+xEsJPYToF8orn8xFhb3uIgcg/V06gBZCXLz5NGtqhoKj2wIpLqH7PvYoNye+hJj\njUEoZqr7zsLqSBWyJxqdBlyG5bPpozZ5MG6UQHdlsZxY54nId1jdvjHeDYYS6K7kjv+ziPzgdN+U\nBLrT3XGbsPpdJx464z0TuDgP2MgKJUBEOovIi8Ct4XkUoQdRMOGlt4ikqcW/N8AGOsFmgl6mqoPU\nJvTElYLKW1V3uhb0VMzgXhs65h7MOAzF/LFDNc5zKYqh+xq3PegN9MZCQJsDJ6vqyzHWmSIilUXk\nPSwYAs1Olx78hoLqyJFu/4tYbqxr1SYRxpx91N1JLYvnz1iK+PM1O4VLIusOZgIvT1LdYAE5Y+Kh\nOS6GYR8esJEUiruQj2KDU59i4Y63i62bsMd95VrYM7AH0Y3u9O246fKqukhVZ8dDcy79BZV3eDIP\nQAbm22zpXC+1RaSaqr4AXKqqZ6plZ0xU3a2c7qDBMBb4U7wess5gZWID4A1EZIjTmxbc+IXUkSVu\n//9UdWKstZai7uVu/+dqGYyTTfc0VZ2c+7MTWPey0OfEbcJoTA1DaT1g3TFxKxR3ISdiLbkx2BoP\nirlUginyd4nIc1ieoIeBI8VmVm7AfMVxpwjlrc71Uk5EyqlqlqpOAn7EQk+/wOU3cq3CZNH9uYi0\nUNWvVHVCvHQ7WmOhmw8B54hIpaBe76WOfBJnnbk50HRHck+GSK7y1tiPtg/ChYRhoYIv4EIL3ba7\nMNdFU6zwxmEF9BRxjBTA0i+3zGd7L2wAdjwWB92W7IiG5qHj0okg9rkE5X0H5r5o6t5fBqzFFk+J\n6yzxZNMdriNkR4WUwUKS22E3/dWY//qYRKkjXrfXXezfEMtCybU9IR+w2BT+97Gu3j/JntkbXNDO\nmL8azIiNABqHzo86zG1fy7tX+L3XXfQ64vYdDTzkXg/DWoXvkjM0MpI64nV73SX9KzVXkohUFZH3\nsRv6THGLwod8wxuBs1W1Nxbedi6wTC13+2JxkSeq+odanvx4URHrZl7tXh/ndASRTzPV1kkAmzzV\nGeviBeGyUUXq7Gt5B1ERE9RceV53weRbRxwrsMCJ17BEZrOBxepCI6OsI3jd8SZZdeehNMcYkuYB\nKyLni8jxYsvgrcKmx/8XW6y8qxS8NOUR2ASrYMAoygu5r+UdyXwEkkR3MepINWwuwmpsUuNl2KB4\nsExoXOuI1+11lwaBu6RkJ9u6AcuBb1R1k4iUx4zNDdhswqdV9Zd8zrsSC+m8XOMUCulapHUxl8Ru\n4CfswXStupzwYmvQngnMUNWX3LbKWBbOEdhF/buqLoyH5twkU3nn+v6k0F3MOjJTVV9022qG9qdj\nYyMbYq3X6/a6Y0Wxewxi1BORicAFWB6jJ9yP3qaW83sCZiF7hM6rLCK9RWQGNnt1RByNQqprkVYC\nVqlqTyzHywbMwgOgFn63DGgtIlXEFqHZhEUk3a2qA+JtFJKxvJNRdwnqSCtXRyqqaoaIpLoezR9x\nfkh53V53qVMsw5BsD1ixpfhGYGv9Ho9N2ArcQLuwCVJHu30Bz2AD4BOA5SJS3/mz34m13twkW3kn\no+59rCPjgSWujuwJZY4HXrfXHVO0aKPtaZgr5d/YMnEDgOdD+wXLX3N8aFs6tpjHDGxd0vpF+a7S\n+nM6v8UWE7kES73cBxsEOjJ03OXAxND7IVjqjWdw2STj/ZeM5Z2MupO1jnjdXnfMf/P+WihY7qVw\nFsvHncYLgVluWwrmK/wv2fHxpxJavcxXwv1XdxLXEa/b647tb95fCwU4CChH9opT5wD3uNdzgKvd\n687Aq1FfiP2gvJNOdxLXEa/b647pX1HGGGYB/5XsZE9TsAleY3CZLNV8Zg2xlBHLAFT1HbW0BZGg\nqltUdbtmhzf2xiaVgC2c00YsqdWrWExxOJY+SpKyvElC3claR7zu+JKsuveFtL0doBY9EqY38J17\nfRFwiSuUVriBRRERdSY0atyDSrHMrOPc5kxs2cH2wFJ1CdcSQXOylney6nY6kqqOBHjd8SVZdZeE\nvRqGgCQulN1YVsMM4DAReRBYj3X/voxUWSEka3knqe6krCN43fEmWXUXmyIbBpK0UFRVReRwzC94\nMDBaVZ+LWFZRSMryJgl1J2sd8brjS7LqLgnFmvksIkdhi6RMJYkKRUQaAucBI1V1e9R6ikoSl3fS\n6U7iOuJ1x5Fk1V1cimsYDohCSRSStbyTVbfH4zH2KVeSx+PxePY/4rrms8fj8XgSH28YPB6Px5MD\nbxg8Ho/HkwNvGDwej8eTA28YPB6HiNwuItcXsv80EWkbT00eTxR4w+DxFJ3TAG8YPPs9PlzVc0Aj\nIjcD5wM/Y4nRZgG/A8OwGdyLsTkZHYH33L7fgUHuIx7D1vLdAlyiqvPjqd/jiQXeMHgOWESkEzAG\nW9M7DcuM+SQ2W3u9O+ZuYI2qPiIiY4D3VPUNt+9T4DJVXSQiXbFUzD3yfpPHk1wUJ1eSx7O/cSzw\nVpAZVkSCpH/tnUGoiq0w93HuE8UWc+8GvB7KsFwu5oo9njjgDYPnQCe/LvMY4DRV/VZELgROyOeY\nFGCjqnaMnTSPJxr84LPnQGYSMFBEKohIJWyNaoBKwK8iUgbLpBmQ6fahqpuApSJyBtjaEiLSIX7S\nPZ7Y4ccYPAc0ocHn5cBKYC6wGRjutn0PVFLVC0WkO7Y29XZgMJZi/AmgHlAGGKuqd8b9R3g8pYw3\nDB6Px+PJgXcleTwejycH3jB4PB6PJwfeMHg8Ho8nB94weDwejycH3jB4PB6PJwfeMHg8Ho8nB94w\neDwejycH3jB4PB6PJwf/H8Kw+zZydM0sAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11b37f2d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# buy and sell according to the probability, not the label\n",
    "done = False\n",
    "observation, _ = env.reset()\n",
    "close_open_ratio = observation[:, :, 3] / observation[:, :, 0]\n",
    "while not done:\n",
    "    close_open_ratio = np.expand_dims(close_open_ratio, axis=0)\n",
    "    close_open_ratio = np.expand_dims(close_open_ratio, axis=-1)\n",
    "    close_open_ratio = normalize(close_open_ratio)\n",
    "    current_action = optimal_given_past_model.predict(close_open_ratio, verbose=False)\n",
    "    current_action = np.squeeze(current_action, axis=0)\n",
    "    observation, reward, done, _ = env.step(current_action)\n",
    "    close_open_ratio = observation[:, :, 3] / observation[:, :, 0]\n",
    "env.render()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
